document.addEventListener('DOMContentLoaded', function() {
  // 最近添加的标签
  let recentTags = [];
  
  // 自动填入当前标签页的标题和URL
  function autoFillCurrentTabInfo() {
    // 使用Chrome API获取当前活动标签页
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
      if (tabs && tabs[0]) {
        const currentTab = tabs[0];
        // 只有当用户没有手动输入内容时才自动填充
        if (!document.getElementById('title-input').value.trim()) {
          document.getElementById('title-input').value = currentTab.title || '';
        }
        if (!document.getElementById('url-input').value.trim()) {
          document.getElementById('url-input').value = currentTab.url || '';
        }
      }
    });
  }

  // 立即执行自动填入功能
  autoFillCurrentTabInfo();

  // 跳转到完整管理页面
  document.getElementById('go-to-manager').addEventListener('click', function() {
    // 在Chrome扩展中，使用chrome.tabs.create创建新标签页更可靠
    chrome.tabs.create({
      url: chrome.runtime.getURL('bookmark-manager.html'),
      active: true
    });
  });

  // 快速添加书签功能
  document.getElementById('add-button').addEventListener('click', function() {
    const title = document.getElementById('title-input').value.trim();
    let url = document.getElementById('url-input').value.trim();
    const tagsInput = document.getElementById('tags-input').value.trim();

    if (!title || !url) {
      alert('请输入标题和URL');
      return;
    }

    // 确保URL有协议
    if (!url.startsWith('http://') && !url.startsWith('https://')) {
      url = 'https://' + url;
    }

    // 解析标签（支持逗号和空格作为分隔符）
    const tags = tagsInput ? tagsInput.split(/[,\s]+/).map(tag => tag.trim()).filter(tag => tag) : [];
    
    // 更新最近标签
    if (tags.length > 0) {
      updateRecentTags(tags);
    }

    // 创建新书签
    const newBookmark = {
      id: Date.now(),
      title,
      url,
      tags,
      createdAt: new Date().toISOString()
    };

    // 保存到本地存储
    let bookmarks = JSON.parse(localStorage.getItem('bookmarks') || '[]');
    bookmarks.push(newBookmark);
    localStorage.setItem('bookmarks', JSON.stringify(bookmarks));

    // 清空输入框
    document.getElementById('title-input').value = '';
    document.getElementById('url-input').value = '';
    document.getElementById('tags-input').value = '';

    alert('书签添加成功！');
  });

  // 显示最近的书签
  function showRecentBookmarks() {
    const bookmarks = JSON.parse(localStorage.getItem('bookmarks') || '[]');
    const recentBookmarks = bookmarks.slice(-5).reverse(); // 最近5个
    const container = document.getElementById('recent-bookmarks-container');

    if (recentBookmarks.length === 0) {
      container.innerHTML = '<p class="no-bookmarks">暂无书签</p>';
      return;
    }

    container.innerHTML = '';
    recentBookmarks.forEach(bookmark => {
      const item = document.createElement('div');
      item.className = 'recent-bookmark-item';
      item.innerHTML = `
        <a href="${bookmark.url}" target="_blank" class="recent-bookmark-title">${bookmark.title}</a>
        <a href="${bookmark.url}" target="_blank" class="recent-bookmark-url">${truncateUrl(bookmark.url)}</a>
      `;
      container.appendChild(item);
    });
  }

  // 渲染最近标签
  function renderRecentTags() {
    const recentTagsButtons = document.getElementById('recent-tags-buttons');
    if (!recentTagsButtons) return;
    
    recentTagsButtons.innerHTML = '';
    
    if (recentTags.length === 0) {
      recentTagsButtons.innerHTML = '<p class="no-recent-tags">暂无最近标签</p>';
      return;
    }
    
    recentTags.forEach(tag => {
      const button = document.createElement('button');
      button.className = 'recent-tag-btn';
      button.textContent = tag;
      button.addEventListener('click', () => {
        // 将标签添加到输入框中
        const tagsInput = document.getElementById('tags-input');
        const currentTags = tagsInput.value.trim() ? 
          tagsInput.value.trim().split(/[,\s]+/).map(t => t.trim()).filter(t => t) : 
          [];
        
        if (!currentTags.includes(tag)) {
          currentTags.push(tag);
          tagsInput.value = currentTags.join(', ');
        }
      });
      recentTagsButtons.appendChild(button);
    });
  }
  
  // 更新最近标签
  function updateRecentTags(tags) {
    // 添加新标签到开头，并去重
    const updatedTags = [...new Set([...tags, ...recentTags])];
    // 只保留最近5个标签
    recentTags = updatedTags.slice(0, 5);
    
    // 保存到本地存储
    if (typeof chrome !== 'undefined' && chrome.storage) {
      chrome.storage.local.set({ 'recentTags': recentTags }, function() {
        // 渲染更新后的最近标签
        renderRecentTags();
      });
    } else {
      // 降级方案：使用localStorage
      localStorage.setItem('recentTags', JSON.stringify(recentTags));
      renderRecentTags();
    }
  }
  
  // 加载最近标签
  function loadRecentTags() {
    if (typeof chrome !== 'undefined' && chrome.storage) {
      chrome.storage.local.get('recentTags', function(result) {
        recentTags = result.recentTags || [];
        renderRecentTags();
      });
    } else {
      // 降级方案：使用localStorage
      const storedRecentTags = localStorage.getItem('recentTags');
      recentTags = storedRecentTags ? JSON.parse(storedRecentTags) : [];
      renderRecentTags();
    }
  }
  
  // 辅助函数：截断URL
  function truncateUrl(url) {
    let displayUrl = url.replace(/^https?:\/\//, '');
    if (displayUrl.endsWith('/')) {
      displayUrl = displayUrl.slice(0, -1);
    }
    if (displayUrl.length > 40) {
      displayUrl = displayUrl.substring(0, 37) + '...';
    }
    return displayUrl;
  }

  // 加载最近的书签和最近标签
  showRecentBookmarks();
  loadRecentTags();
});